
$(function() {
	draw(show_num);   
	$("#canvas , .btn_change").on('click', function() {
		draw(show_num);
	});
	/*  
	 * 1. 得到所有的错误信息，循环遍历之。调用一个方法来确定是否显示错误信息！  
	 */
	$(".tips").each(function() {
		showError($(this)); //遍历每个元素，使用每个元素来调用showError方法  
	});
	/*  
	 * 2. 输入框得到焦点隐藏错误信息  
	 */
	$(".inputClass").focus(function() {
		var labelId = $(this).attr("id") + "Error"; //通过输入框找到对应的label的id  
		$("#" + labelId).text(""); //把label的内容清空！  
		showError($("#" + labelId)); //隐藏没有信息的label  
	});

	/*  
	 * 3. 输入框失去焦点进行校验  
	 */
	$(".inputClass").blur(function() {
		var id = $(this).attr("id"); //获取当前输入框的id  
		var funName = "validate" + id.substring(0, 1).toUpperCase() + id.substring(1) + "()"; //得到对应的校验函数名  

		eval(funName); //执行函数调用  
	});

})

/*  
 * 联系人校验方法  
 */
function validateContact() {
	var id = "contact";
	var regContact = /^[\u4E00-\u9FA5]{2,4}$/;;
	var value = $("#" + id).val(); //获取输入框内容  

	/*  
	 * 1. 非空校验  
	 */
	if(!value) {
		/*  
		 * 获取对应的label  
		 * 添加错误信息  
		 * 显示label  
		 */
		$("#" + id + "Error").text("联系人不能为空");
		showError($("#" + id + "Error"));
		return false;
	}
	/*  
	 * 2. 长度校验  
	 */
	if(!regContact.test(value)) {
		/*  
		 * 获取对应的label  
		 * 添加错误信息  
		 * 显示label  
		 */
		$("#" + id + "Error").text("请输入2-4中文名");
		showError($("#" + id + "Error"));
		return false;
	}
	
	return true;
}

/*  
 * 登录密码校验方法  
 */
function validateLoginpass() {
	var id = "loginpass";
	var value = $("#" + id).val(); //获取输入框内容  
	/*  
	 * 1. 非空校验  
	 */
	if(!value) {
		/*  
		 * 获取对应的label  
		 * 添加错误信息  
		 * 显示label  
		 */
		$("#" + id + "Error").text("密码不能为空！");
		showError($("#" + id + "Error"));
		return false;
	}
	/*  
	 * 2. 长度校验  
	 */
	if(value.length < 3 || value.length > 20) {
		/*  
		 * 获取对应的label  
		 * 添加错误信息  
		 * 显示label  
		 */
		$("#" + id + "Error").text("密码长度必须在6 ~ 18之间");
		showError($("#" + id + "Error"));
		return false;
	}
	return true;
}

/*  
 * 确认密码校验方法  
 */
function validateReloginpass() {
	var id = "reloginpass";
	var value = $("#" + id).val(); //获取输入框内容  
	/*  
	 * 1. 非空校验  
	 */
	if(!value) {
		/*  
		 * 获取对应的label  
		 * 添加错误信息  
		 * 显示label  
		 */
		$("#" + id + "Error").text("确认密码不能为空");
		showError($("#" + id + "Error"));
		return false;
	}
	/*  
	 * 2. 两次输入是否一致校验  
	 */
	if(value != $("#loginpass").val()) {
		/*  
		 * 获取对应的label  
		 * 添加错误信息  
		 * 显示label  
		 */
		$("#" + id + "Error").text("两次输入不一致");
		showError($("#" + id + "Error"));
		return false;
	}
	return true;
}

/*  
 * Email校验方法  
 */
function validateEmail() {
	var id = "email";
	var value = $("#" + id).val(); //获取输入框内容  
	/*  
	 * 1. 非空校验  
	 */
	if(!value) {
		/*  
		 * 获取对应的label  
		 * 添加错误信息  
		 * 显示label  
		 */
		$("#" + id + "Error").text("Email不能为空");
		showError($("#" + id + "Error"));
		return false;
	}
	/*  
	 * 2. Email格式校验  
	 */
	if(!/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(value)) {
		/*  
		 * 获取对应的label  
		 * 添加错误信息  
		 * 显示label  
		 */
		$("#" + id + "Error").text("错误的Email格式");
		showError($("#" + id + "Error"));
		return false;
	}
	/*  
	 * 3. 是否注册校验  
	 */
	$.ajax({
		url: "/goods/UserServlet", //要请求的servlet  
		data: {
			method: "ajaxValidateEmail",
			email: value
		}, //给服务器的参数  
		type: "POST",
		dataType: "json",
		async: false, //是否异步请求，如果是异步，那么不会等服务器返回，我们这个函数就向下运行了。  
		cache: false,
		success: function(result) {
			if(!result) { //如果校验失败  
				$("#" + id + "Error").text("Email已被注册");
				showError($("#" + id + "Error"));
				return false;
			}
		}
	});
	return true;
}
/*  
 * 图片验证码校验方法  
 */

function validateImgcode() {
	var id = "imgcode";
	var value = $("#" + id).val().toLowerCase(); //获取输入框内容  
	var num = show_num.join("");	
	console.log(num);
	/*  
	 * 1. 非空校验  
	 */
	if(!value) {
		/*  
		 * 获取对应的label  
		 * 添加错误信息  
		 * 显示label  
		 */
		$("#" + id + "Error").text("验证码不能为空！");
		showError($("#" + id + "Error"));
		return false;
	}
		/*  
	 * 2. 长度校验  
	 */
	if(value.length != 4) {
		/*  
		 * 获取对应的label  
		 * 添加错误信息  
		 * 显示label  
		 */
		$("#" + id + "Error").text("错误的验证码！");
		showError($("#" + id + "Error"));
		return false;
	}
	/*  
	 * 3. 校验是否输入正确  
	 */
	if(value!= num) {
		/*  
		 * 获取对应的label  
		 * 添加错误信息  
		 * 显示label  
		 */
		$("#" + id + "Error").text("错误的验证码！");
		showError($("#" + id + "Error"));
		draw(show_num);
		return false;
	}
	return true;
}

/*  
 * 短信验证码校验方法  
 */
//function validateMobilecode() {
//	var id = "mobilecode";
//	var value = $("#" + id).val(); //获取输入框内容  
//	/*  
//	 * 1. 非空校验  
//	 */
//	if(!value) {
//		/*  
//		 * 获取对应的label  
//		 * 添加错误信息  
//		 * 显示label  
//		 */
//		$("#" + id + "Error").text("验证码不能为空！");
//		showError($("#" + id + "Error"));
//		return false;
//	}
//	/*  
//	 * 2. 长度校验  
//	 */
//	if(value.length != 4) {
//		/*  
//		 * 获取对应的label  
//		 * 添加错误信息  
//		 * 显示label  
//		 */
//		$("#" + id + "Error").text("错误的验证码！");
//		showError($("#" + id + "Error"));
//		return false;
//	}
//	/*  
//	 * 3. 是否正确  
//	 */
//	$.ajax({
//		url: "/goods/UserServlet", //要请求的servlet  
//		data: {
//			method: "ajaxValidateVerifyCode",
//			verifyCode: value
//		}, //给服务器的参数  
//		type: "POST",
//		dataType: "json",
//		async: false, //是否异步请求，如果是异步，那么不会等服务器返回，我们这个函数就向下运行了。  
//		cache: false,
//		success: function(result) {
//			if(!result) { //如果校验失败  
//				$("#" + id + "Error").text("验证码错误！");
//				showError($("#" + id + "Error"));
//				return false;
//			}
//		}
//	});
//	return true;
//}

/*  
 * 判断当前元素是否存在内容，如果存在显示，不页面不显示！  
 */
function showError(ele) {
	var text = ele.text(); //获取元素的内容  
	if(!text) { //如果没有内容  
		ele.css("display", "none"); //隐藏元素  
	} else { //如果有内容  
		ele.css("display", ""); //显示元素  
	}
}

